/**
 * **Material design colors for Cocos Creator**
 * @summary
 * 色值定义来自于 [Material Palette](https://www.materialpalette.com/colors)
 */
export namespace Colors {
  /**
   * 红色
   * @enum
   */
  export enum Red {
    Z50 = "#ffebee",
    Z100 = "#ffcdd2",
    Z200 = "#ef9a9a",
    Z300 = "#e57373",
    Z400 = "#ef5350",
    Z500 = "#f44336",
    Z600 = "#e53935",
    Z700 = "#d32f2f",
    Z800 = "#c62828",
    Z900 = "#b71c1c",
    A100 = "#ff8a80",
    A200 = "#ff5252",
    A400 = "#ff1744",
    A700 = "#d50000"
  }

  /**
   * 粉红色
   * @enum
   */
  export enum Pink {
    Z50 = "#fce4ec",
    Z100 = "#f8bbd0",
    Z200 = "#f48fb1",
    Z300 = "#f06292",
    Z400 = "#ec407a",
    Z500 = "#e91e63",
    Z600 = "#d81b60",
    Z700 = "#c2185b",
    Z800 = "#ad1457",
    Z900 = "#880e4f",
    A100 = "#ff80ab",
    A200 = "#ff4081",
    A400 = "#f50057",
    A700 = "#c51162"
  }

  /**
   * 紫色
   * @enum
   */
  export enum Purple {
    Z50 = "#f3e5f5",
    Z100 = "#e1bee7",
    Z200 = "#ce93d8",
    Z300 = "#ba68c8",
    Z400 = "#ab47bc",
    Z500 = "#9c27b0",
    Z600 = "#8e24aa",
    Z700 = "#7b1fa2",
    Z800 = "#6a1b9a",
    Z900 = "#4a148c",
    A100 = "#ea80fc",
    A200 = "#e040fb",
    A400 = "#d500f9",
    A700 = "#aa00ff"
  }

  /**
   * 深紫色
   * @enum
   */
  export enum DeepPurple {
    Z50 = "#ede7f6",
    Z100 = "#d1c4e9",
    Z200 = "#b39ddb",
    Z300 = "#9575cd",
    Z400 = "#7e57c2",
    Z500 = "#673ab7",
    Z600 = "#5e35b1",
    Z700 = "#512da8",
    Z800 = "#4527a0",
    Z900 = "#311b92",
    A100 = "#b388ff",
    A200 = "#7c4dff",
    A400 = "#651fff",
    A700 = "#6200ea"
  }

  /**
   * 靛蓝色
   * @enum
   */
  export enum Indigo {
    Z50 = "#e8eaf6",
    Z100 = "#c5cae9",
    Z200 = "#9fa8da",
    Z300 = "#7986cb",
    Z400 = "#5c6bc0",
    Z500 = "#3f51b5",
    Z600 = "#3949ab",
    Z700 = "#303f9f",
    Z800 = "#283593",
    Z900 = "#1a237e",
    A100 = "#8c9eff",
    A200 = "#536dfe",
    A400 = "#3d5afe",
    A700 = "#304ffe"
  }

  /**
   * 蓝色
   * @enum
   */
  export enum Blue {
    Z50 = "#e3f2fd",
    Z100 = "#bbdefb",
    Z200 = "#90caf9",
    Z300 = "#64b5f6",
    Z400 = "#42a5f5",
    Z500 = "#2196f3",
    Z600 = "#1e88e5",
    Z700 = "#1976d2",
    Z800 = "#1565c0",
    Z900 = "#0d47a1",
    A100 = "#82b1ff",
    A200 = "#448aff",
    A400 = "#2979ff",
    A700 = "#2962ff"
  }

  /**
   * 淡蓝色
   * @enum
   */
  export enum LightBlue {
    Z50 = "#e1f5fe",
    Z100 = "#b3e5fc",
    Z200 = "#81d4fa",
    Z300 = "#4fc3f7",
    Z400 = "#29b6f6",
    Z500 = "#03a9f4",
    Z600 = "#039be5",
    Z700 = "#0288d1",
    Z800 = "#0277bd",
    Z900 = "#01579b",
    A100 = "#80d8ff",
    A200 = "#40c4ff",
    A400 = "#00b0ff",
    A700 = "#0091ea"
  }

  /**
   * 天青色
   * @enum
   */
  export enum Cyan {
    Z50 = "#e0f7fa",
    Z100 = "#b2ebf2",
    Z200 = "#80deea",
    Z300 = "#4dd0e1",
    Z400 = "#26c6da",
    Z500 = "#00bcd4",
    Z600 = "#00acc1",
    Z700 = "#0097a7",
    Z800 = "#00838f",
    Z900 = "#006064",
    A100 = "#84ffff",
    A200 = "#18ffff",
    A400 = "#00e5ff",
    A700 = "#00b8d4"
  }

  /**
   * 蓝绿色
   * @enum
   */
  export enum Teal {
    Z50 = "#e0f2f1",
    Z100 = "#b2dfdb",
    Z200 = "#80cbc4",
    Z300 = "#4db6ac",
    Z400 = "#26a69a",
    Z500 = "#009688",
    Z600 = "#00897b",
    Z700 = "#00796b",
    Z800 = "#00695c",
    Z900 = "#004d40",
    A100 = "#a7ffeb",
    A200 = "#64ffda",
    A400 = "#1de9b6",
    A700 = "#00bfa5"
  }

  /**
   * 绿色
   * @enum
   */
  export enum Green {
    Z50 = "#e8f5e9",
    Z100 = "#c8e6c9",
    Z200 = "#a5d6a7",
    Z300 = "#81c784",
    Z400 = "#66bb6a",
    Z500 = "#4caf50",
    Z600 = "#43a047",
    Z700 = "#388e3c",
    Z800 = "#2e7d32",
    Z900 = "#1b5e20",
    A100 = "#b9f6ca",
    A200 = "#69f0ae",
    A400 = "#00e676",
    A700 = "#00c853"
  }

  /**
   * 淡绿色
   * @enum
   */
  export enum LightGreen {
    Z50 = "#f1f8e9",
    Z100 = "#dcedc8",
    Z200 = "#c5e1a5",
    Z300 = "#aed581",
    Z400 = "#9ccc65",
    Z500 = "#8bc34a",
    Z600 = "#7cb342",
    Z700 = "#689f38",
    Z800 = "#558b2f",
    Z900 = "#33691e",
    A100 = "#ccff90",
    A200 = "#b2ff59",
    A400 = "#76ff03",
    A700 = "#64dd17"
  }

  /**
   * 酸橙色
   * @enum
   */
  export enum Lime {
    Z50 = "#f9fbe7",
    Z100 = "#f0f4c3",
    Z200 = "#e6ee9c",
    Z300 = "#dce775",
    Z400 = "#d4e157",
    Z500 = "#cddc39",
    Z600 = "#c0ca33",
    Z700 = "#afb42b",
    Z800 = "#9e9d24",
    Z900 = "#827717",
    A100 = "#f4ff81",
    A200 = "#eeff41",
    A400 = "#c6ff00",
    A700 = "#aeea00"
  }

  /**
   * 黄色
   * @enum
   */
  export enum Yellow {
    Z50 = "#fffde7",
    Z100 = "#fff9c4",
    Z200 = "#fff59d",
    Z300 = "#fff176",
    Z400 = "#ffee58",
    Z500 = "#ffeb3b",
    Z600 = "#fdd835",
    Z700 = "#fbc02d",
    Z800 = "#f9a825",
    Z900 = "#f57f17",
    A100 = "#ffff8d",
    A200 = "#ffff00",
    A400 = "#ffea00",
    A700 = "#ffd600"
  }

  /**
   * 琥珀色
   * @enum
   */
  export enum Amber {
    Z50 = "#fff8e1",
    Z100 = "#ffecb3",
    Z200 = "#ffe082",
    Z300 = "#ffd54f",
    Z400 = "#ffca28",
    Z500 = "#ffc107",
    Z600 = "#ffb300",
    Z700 = "#ffa000",
    Z800 = "#ff8f00",
    Z900 = "#ff6f00",
    A100 = "#ffe57f",
    A200 = "#ffd740",
    A400 = "#ffc400",
    A700 = "#ffab00"
  }

  /**
   * 橘黄色
   * @enum
   */
  export enum Orange {
    Z50 = "#fff3e0",
    Z100 = "#ffe0b2",
    Z200 = "#ffcc80",
    Z300 = "#ffb74d",
    Z400 = "#ffa726",
    Z500 = "#ff9800",
    Z600 = "#fb8c00",
    Z700 = "#f57c00",
    Z800 = "#ef6c00",
    Z900 = "#e65100",
    A100 = "#ffd180",
    A200 = "#ffab40",
    A400 = "#ff9100",
    A700 = "#ff6d00"
  }

  /**
   * 深橘色
   * @enum
   */
  export enum DeepOrange {
    Z50 = "#fbe9e7",
    Z100 = "#ffccbc",
    Z200 = "#ffab91",
    Z300 = "#ff8a65",
    Z400 = "#ff7043",
    Z500 = "#ff5722",
    Z600 = "#f4511e",
    Z700 = "#e64a19",
    Z800 = "#d84315",
    Z900 = "#bf360c",
    A100 = "#ff9e80",
    A200 = "#ff6e40",
    A400 = "#ff3d00",
    A700 = "#dd2c00"
  }

  /**
   * 褐色
   * @enum
   */
  export enum Brown {
    Z50 = "#efebe9",
    Z100 = "#d7ccc8",
    Z200 = "#bcaaa4",
    Z300 = "#a1887f",
    Z400 = "#8d6e63",
    Z500 = "#795548",
    Z600 = "#6d4c41",
    Z700 = "#5d4037",
    Z800 = "#4e342e",
    Z900 = "#3e2723"
  }

  /**
   * 灰色
   * @enum
   */
  export enum Grey {
    Z50 = "#fafafa",
    Z100 = "#f5f5f5",
    Z200 = "#eeeeee",
    Z300 = "#e0e0e0",
    Z400 = "#bdbdbd",
    Z500 = "#9e9e9e",
    Z600 = "#757575",
    Z700 = "#616161",
    Z800 = "#424242",
    Z900 = "#212121"
  }

  /**
   * 蓝灰色
   * @enum
   */
  export enum BlueGrey {
    Z50 = "#eceff1",
    Z100 = "#cfd8dc",
    Z200 = "#b0bec5",
    Z300 = "#90a4ae",
    Z400 = "#78909c",
    Z500 = "#607d8b",
    Z600 = "#546e7a",
    Z700 = "#455a64",
    Z800 = "#37474f",
    Z900 = "#263238"
  }
}

/**
 * 将十六进制色值转换为cc.Color
 * @param hex_string 十六进制色值
 * @example
 * ```js
 * import {Colors, toCCColor} from "path/to/Colors"
 * toCCColor(Colors.Red.A100)
 * toCCColor(Colors.BlueGrey.Z500)
 * ```
 */
export function toCCColor(hex_string: string): cc.Color {
  return cc.Color.BLACK.fromHEX(hex_string);
}
